<template>
	<view class="content">
		<!--#ifdef APP-PLUS-->
		<button v-if="show" @tap="login" type="primary">手机号一键登录</button>
		<button v-else type="info">不支持登录</button>
		<!--#endif-->
		<!--#ifndef APP-PLUS-->
		<button type="info">请在app查看此案例</button>
		<!--#endif-->
	</view>
</template>

<script>
export default {
	data() {
		return {
			show: false
		}
	},
	onLoad() {
		//#ifdef APP-PLUS
		const that = this
		uni.preLogin({
			provider: 'univerify',
			success() {
				//预登录成功
				that.show = true
			},
			fail(res) {
				// 预登录失败
				that.show = false
				console.log(res)
			}
		})
		//#endif
	},
	methods: {
		login() {
			uni.login({
				provider: 'univerify',
				univerifyStyle: {
					fullScreen: true,
					icon: {
						path: 'static/mqy.jpg' // 自定义显示在授权框中的logo，仅支持本地图片 默认显示App logo
					}
				}, //自定义登录框样式
				success(res) {
					// 登录成功
					console.log(res.authResult) // {openid:'登录授权唯一标识',access_token:'接口返回的 token'}

					uniCloud
						.callFunction({
							name: 'getPhoneNumber', // 你的云函数名称
							data: {
								access_token: res.authResult.access_token, // 客户端一键登录接口返回的access_token
								openid: res.authResult.openid // 客户端一键登录接口返回的openid
							}
						})
						.then(dataRes => {
							console.log('云函数返回的参数', dataRes)
							uni.closeAuthView() //关闭一键登录弹出窗口
							uni.redirectTo({
								url: '/pages/home/index'
							})
						})
						.catch(err => {
							console.log('云函数报错', err)
						})
				},
				fail(res) {
					// 登录失败
					console.log(res.errCode)
					console.log(res.errMsg)
					uni.closeAuthView() //关闭一键登录弹出窗口
				}
			})
		}
	}
}
</script>

<style></style>
